const { notarize } = require("@electron/notarize");
const { build } = require("../package.json");

exports.default = async function notarizeMacos(context) {
  const { electronPlatformName, appOutDir } = context;
  if (electronPlatformName !== "darwin") {
    return;
  }

  if (process.env.CI !== "true") {
    console.warn("Skipping notarizing step. Packaging is not running in CI");
    return;
  }

  if (!("APPLE_ID" in process.env && "APPLE_ID_PASS" in process.env)) {
    console.warn("Skipping notarizing step. APPLE_ID and APPLE_ID_PASS env variables must be set");
    return;
  }

  const appName = context.packager.appInfo.productFilename;

  await notarize({
    appBundleId: build.appId,
    appPath: `${appOutDir}/${appName}.app`,
    appleId: process.env.APPLE_ID,
    appleIdPassword: process.env.APPLE_ID_PASS
  });
};
